﻿using FarseerPhysics.Dynamics;
using Microsoft.Xna.Framework;

namespace Syngine.Physics
{
	/// <summary>
	/// 
	/// </summary>
	public abstract class PhysicsGameBase : Game
	{
		protected PhysicsGameBase()
		{
			Controller = new PhysicsGameController(this);
			Components.Add(Controller);
			GameContext.Set(this);
			GameContext.Set(Controller);
		}

		protected PhysicsGameController Controller { get; private set; }

		//protected override void Initialize()
		//{
		//	GameContext.Set(CreateUserInput());
		//	base.Initialize();
		//}

		/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		public abstract World CreateWorld();

		//protected abstract UserInput CreateUserInput();
	}
}